package net.goutalk.glcs.module.erpModel.caseErpPurchase.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import net.goutalk.glcs.module.erpModel.caseErpSale.dto.UpdateCaseErpSaleDetailDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;

@Data
public class UpdateCaseErpPurchaseDto implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;
    @ApiModelProperty("采购单号")
    private String purchaseNumber;

    @ApiModelProperty("关联申请单外键(case_erp_apply)")
    private Long applyId;

    @ApiModelProperty("关联申请单号")
    private String applyNumber;

    @ApiModelProperty("订单主题")
    private String theme;

    @ApiModelProperty("采购日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Timestamp purchaseDate;

    @ApiModelProperty("供应商id")
    private Long supplierId;
    @ApiModelProperty("供应商名称")
    private String supplierName;

    @ApiModelProperty("联系人")
    private String supplierPerson;

    @ApiModelProperty("联系方式")
    private String supplierWay;

    @ApiModelProperty("采购部门id")
    private Long purchaseDeptId;

    @ApiModelProperty("采购人员id")
    private Long purchasePersonId;

    @ApiModelProperty("联系电话")
    private String purchasePhone;

    @ApiModelProperty("关联项目")
    private Long relatedProject;

    @ApiModelProperty("结算方式")
    private Long payType;

    @ApiModelProperty("支付地址")
    private String payAddress;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("附件")
    private String filePath;

    @ApiModelProperty("订单总量")
    private BigDecimal countSum;

    @ApiModelProperty("订单总金额")
    private BigDecimal amountSum;

    @ApiModelProperty("订单优惠金额")
    private BigDecimal discount;

    @ApiModelProperty("已付金额")
    private BigDecimal alreadyAmount;

    @ApiModelProperty("已到票金额")
    private BigDecimal alreadyTicket;

    @ApiModelProperty("订单状态-审核状态（1-未提交，2-审批中，3-审批完成）")
    private Integer auditState;

    @ApiModelProperty("订单状态-保存状态(0正式,1草稿)")
    private Integer saveState;

    @ApiModelProperty("入库状态(0已完成，1未完成)")
    private Integer inStoreState;

    @ApiModelProperty("到票状态(0已完成，1未完成)")
    private Integer ticketState;

    @ApiModelProperty("付款状态(0已完成，1未完成)")
    private Integer payState;

    @ApiModelProperty("是否关联申请单号（0-不关联，1-关联）")
    private Integer isRelationApply;

    private Boolean isRelationApplyBoolean;

    @ApiModelProperty("是否使用系统编号（0-未使用，1-使用）")
    private Integer isSysNum;

    private Boolean isSysNumBoolean;

    @ApiModelProperty("添加订单详情集合")
    private List<UpdateCaseErpSaleDetailDto> addCaseErpPurchaseDetailDtoList;
}
